home *** CD-ROM | disk | FTP | other *** search
- /*
- ==============================================================================
- WordUp Graphics Toolkit Version 5.0
- Demonstration Program 15
-
- This program shows how to use virtual graphics pages and tells how
- they are used in animation.
-
- *** PROJECT ***
- This program requires the file WGT5_WC.LIB to be linked.
-
- *** DATA FILES ***
- NONE
- WATCOM C++ VERSION
- ==============================================================================
- */
-
- #include <conio.h>
- #include <wgt5.h>
-
-
- void main(void)
- {
- short x,y;
- short oldmode;
- block screen1;
-
- printf ("WGT Example #15\n\n");
- printf ("This program demonstrates virtual screen buffers.\n");
- printf ("Press a key after the tone is heard, then again to end the demo.\n");
- printf ("\n\nPress any key to continue.\n");
- getch ();
-
- if ( !vgadetected () )
- {
- printf("Error - VGA card required for any WGT program.\n");
- exit (0);
- }
- oldmode = wgetmode ();
- vga256 ();
-
- screen1 = wnewblock (0, 0, 319, 199);
- /* virtual screens are created by making a block of any size.
- These screens can be used like any other block, however they may
- also be drawn on top of. You can tell which screen to draw to by
- calling wsetscreen(name of block) and wnormscreen() to restore
- drawing to the default screen.
- Note: wsetscreen(NULL); performs the same action as wnormscreen();
- */
-
- wtextcolor (15);
- wouttextxy (0, 0, NULL, "Press a key at the tone");
- wsetscreen (screen1); /* sets to screen1 */
- for (y = 0; y < 200; y++)
- {
- wsetcolor (y);
- wline (0, 0, 319, y); /* draw something on another screen */
- wline (319, 199, 0, y);
- }
-
- sound (500); /* This is to let you know when it is finished */
- delay (100);
- nosound ();
- getch (); /* there is nothing on the screen yet */
-
- /* now use putblock to show what happened on the other screen */
-
- wnormscreen (); /* make the putblock go onto the default screen */
- wputblock (0, 0, screen1, 0);
-
- getch (); /* now everything is shown! */
-
- wfreeblock (screen1);
- /* remember to free that memory (64004 bytes for a screen) */
-
- wsetmode (oldmode);
- }
-